【セッションレポート】『SAP HANAは単なるインメモリーデータベースではなくて、アプリの開発実行プラットフォーム』 #cmdevio2015F
こんばんは、三井田です。
先日の Developers.IO 2015 では、弊社と関わりのあるスポンサー企業の方にも多数ご登壇・発表を頂きました。
スタッフとしてサポートしたトラックF、F-2・F-3で発表されたSAPの杉下誠氏のセッション、『SAP HANAは単なるインメモリーデータベースではなくて、アプリの開発実行プラットフォーム』をレポートします。
セッションの雰囲気
米国の部署の所属ながら、勤務場所は日本という杉下氏。グローバルにビジネスを展開しているSAP様ならではといったところです。15名程が囲めるテーブルで、スライドと実際のデモを交えての発表でした。
スライド
[slideshare id=46477773&doc=hanaplatformdeviosugishita-150331003057-conversion-gate01] SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム
概要
SAP HANAは、高速に稼働するインメモリデータベースという機能のみならず、SAP HANA XS (SAP HANA Extended Application Services)というアプリケーションサーバ機能を活用して『賢いアプリを作る基盤』であるというお話でした。
- HANA内で統計処理機能を利用
- 地理空間情報エンジン
- 系列データ
- グラフエンジン
- テキスト系処理(テキスト検索、テキスト分析、テキストマイニング)
内容としては盛りだくさんなので、詳細は杉下氏のスライドを参照ください。
デモは、開発をEclipse Pluginで実行してブラウザで表示する、といった形で進められました。
SAP HANAの基礎技術のおさらい
次のような土台となる基礎技術が紹介されました。
- メモリ上にデータを持ってアクセスするインメモりデータベース
- SQLでアクセスできる
- データの持ち方(ローストア、カラムストアどちらにも出来る)
- マルチコア並列化。CPUを100%使い切れるよう設計されている
HANA XS エンジンの紹介
続いて、HANA XSについて紹介がありました。
- フロントエンド技術
- 制御フロー技術
- データ処理技術
HANA XSはWebサーバとして動くので、クライアントサイドのUIは、静的なhtml/css/jsをそのまま配置よいとのこと。
制御フロー技術としては、サーバーサイドJavaScriptで処理を書けること、ODataというRESTベースのWebプロトコルで処理を書けることが説明されました。
ODataのデモでは、定義ファイルを1つ作成し実装する様子、Webブラウザで「https://URL/?$format=json」とすることでデータ抽出・表示フォーマットも指定して出力する様子が紹介されました。
更に、HANA XSは、外部へのメール送信や、アンチウイルス、ジョブスケジューラ機能まで持っているとのことでした。
HANA XSを活かしたアプリケーションの例の紹介
HANA内で統計処理機能を利用
以下が紹介されました。
- SAP独自のPAL:インメモリ予測解析機能
- 統計言語"R"との統合
デモでは、Application Function ModelerというGUIツールでPALの「決定木 c4.5」の予測解析を実装して実行する様子が紹介されました。
地理空間情報エンジン
このエンジンでは、点・線・多角形で囲まれたエリアを処理します。
こちらのデモでは、アメリカ合衆国の地図上のあるエリアを囲むとそのエリア内のデータがリアルタイムに集計されて表示される様子が紹介されました。
系列データ
系列データとは、『データの点の集合体で、一般的な例としては一定期間に起きた連続 的な計測データ(センサーのデータや株価情報等)』とのこと。
RDBMSで通常のSQLで処理しようとすると、データの無駄が多かったり、パフォーマンスが出なかったりするが、SAP HANAのカラムテーブル構造では、より自然な形で格納できるというお話でした。
グラフエンジン
ロット追跡や家系図のような複雑に関連し合うデータをどのように扱えるかの紹介がありました。
頂点(vertex)とそれらを結ぶ辺(edge)、またそれぞれにプロパティが付与されて表現されるデータです。
また、GEMというSAP独自の言語で表現すると、SQLに比べてシンプルに表現できるとのことです。(スライド p.37)
テキスト系処理(テキスト検索、テキスト分析、テキストマイニング)
テキスト分析のデモでは、日本語を形態素解析して出力する様子が紹介されました。
Q&A
質問:SAP HANA XSで作成したアプリケーションはHANA以外で動くか?
回答:サーバーサイドはHANAの上でのみ。静的コンテンツはどこにあっても良い。
質問:c4.5決定木は、実際に確認できるか?
回答:出来る
質問:テキスト系処理で日本語を利用できるか?
回答:テキスト解析(形態素解析)はできる。テキストマイニングは、現時点(SP09)では英語のみ。
まとめ
SAP HANAの組み込み機能で、他のミドルウェアなどとの連携を考慮・開発することなく、SAP HANAのインメモリデータベース機能をフル活用したより賢く高機能なアプリケーションが開発・実行できるということが分かりました。
メモリ上に載る範囲のデータを高速に分析してリアルタイムで予測解析、地理情報や系列データに基づいた集計・表示というデモを目の当たりにし、APサーバとDBサーバの機能が共存するプラットフォーム構成も、SAP HANAの特性にあった実装だと感じました。